using System;
using System.Security.Cryptography.X509Certificates;
namespace Gltf
{


    public class BufferView : NamedObject
    {
        static string TypeName = "BufferView";
        public class Target
        {
            public static int ARRAY_BUFFER = 34962;

            public static int ELEMENT_ARRAY_BUFFER = 34963;
        };
        /**
         * @brief The index of the buffer.
         */
        public int buffer = -1;

        /**
         * @brief The offset into the buffer in bytes.
         */
        public Int64 byteOffset = 0;

        /**
         * @brief The length of the bufferView in bytes.
         */
        public Int64 byteLength;

        /**
         * @brief The stride, in bytes.
         *
         * The stride, in bytes, between vertex attributes.  When this is not defined,
         * data is tightly packed. When two or more accessors use the same buffer
         * view, this field **MUST** be defined.
         */
        public Int64? byteStride;

        /**
         * @brief The hint representing the intended GPU buffer type to use with this
         * buffer view.
         *
         * Known values are defined in {@link Target}.
         *
         */
        public Int32? target;

    }
}
